package cn.matezk.cloud.service;

import cn.matezk.cloud.beans.BindDeviceRequest;
import cn.matezk.cloud.beans.DeviceSearch;
import cn.matezk.cloud.beans.Result;
import cn.matezk.cloud.beans.SimpleDevice;
import cn.matezk.cloud.model.Device;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.iotexplorer.v20190423.models.CallDeviceActionSyncResponse;

import java.util.List;

public interface IMiniAppService {
    Result wechatNotifyEnable(String unionId, String userId, Boolean wechatNotifyEnable);
    Boolean wechatNotifyEnable(String unionId);
    String aliasName(String productId, String deviceName);
    void updateDevice(Device device);
    void bindFamily(BindDeviceRequest request) throws TencentCloudSDKException;
    Device detail(String deviceId);
    CallDeviceActionSyncResponse unbindDevice(String deviceId) throws TencentCloudSDKException;
    void joinFamily(String familyId, String userId);
    void removeFamily(String familyId, String userId);
    void transferFamily(String familyId, String fromUserId, String toUserId);
    List<SimpleDevice> deviceSearch(DeviceSearch deviceSearch);
}
